In accordance with the USB specifications, a USB host follows the bus enumeration process when a USB device is attached to or removed from the bus, by being connected or disconnected, respectively to a hub. The USB host is informed that a device is connected and present by a measurement of the change in voltage levels between the cable connection point and ground.
Once the change in voltage state is detected and the port is allowed time to stabilize, the USB device is moved into a powered state, and the USB bus enumeration process begins. If the USB device is capable of many services then the enumeration process can be correspondingly very extensive.
If a device is designed to utilize dual processors, in which the processors communicate with each other using USB, then the dual processors will likewise follow the enumeration procedure upon power-up of the device or upon power-up of the processor acting as a USB device. A problem exists when switching configurations of the processors because the process can cause loss of the inter-processor communications link. The enumeration process can cause important service initialization information to be lost and overload of memory and the processor itself. As a result some services may not be usable when needed and mislead the applications.
Therefore, a need exists whereby the USB enumeration process can be limited at the USB layer between processors, in devices that employ dual processor architectures having a physical USB link.